﻿// 4614. 匹配价值.cpp : 此文件包含 "main" 函数。程序执行将在此处开始并结束。
//
/*
https://www.acwing.com/problem/content/4617/

给定一个字符串集合 S
，S
 中包含 m
 个长度为 n
 的 01
 字符串，集合中可能包含重复元素。

给定一个长度为 n
 的整数序列 w1,w2,…,wn
。

关于两个长度为 n
 的 01
 字符串 s,t
 的匹配价值 V
，其具体计算方法如下：

设字符串 s
 的各位字符从左到右依次为 s1,s2,…,sn
。
设字符串 t
 的各位字符从左到右依次为 t1,t2,…,tn
。
初始时，V=0
。
对于所有 i
(1≤i≤n)
，如果 si=ti
，则 V
 加上 wi
。
最终得到的 V
 即为两字符串的匹配价值。
现在，给定 q
 个询问，每个询问包含一个长度为 n
 的 01
 字符串 t
 以及一个整数 k
，具体询问内容为：请你计算并输出集合 S
 中有多少个元素满足，与给定字符串 t
 的匹配价值不大于 k
。

注意，如果集合中多个相同的元素均满足询问条件，则每个元素均应被计数。

输入格式
第一行包含三个整数 n,m,q
。

第二行包含 n
 个整数 w1,w2,…,wn
。

接下来 m
 行，每行包含一个长度为 n
 的 01
 字符串，表示集合 S
 中的一个元素。

最后 q
 行，每行包含一个长度为 n
 的 01
 字符串 t
 和一个整数 k
，表示一个询问。

输出格式
每个询问输出一行答案，一个整数，表示满足询问条件的元素个数。

数据范围
前 3
 个测试点满足 1≤m,q≤5
。
所有测试点满足 1≤n≤12
，1≤m,q≤5×105
，0≤wi≤100
，0≤k≤100
。

输入样例1：
2 4 5
40 20
01
01
10
11
00 20
00 40
11 20
11 40
11 60
输出样例1：
2
4
2
3
4
输入样例2：
1 2 4
100
0
1
0 0
0 100
1 0
1 100
输出样例2：
1
2
1
2
*/
#include <iostream>

int main()
{
    std::cout << "Hello World!\n";
}
 